1.获取当前时间 now()函数:
select now();
current_timestamp,同now():
select current_timestamp;
![在这里插入图片描述](https://img-blog.csdnimg.cn/30684977e9a5449ea7718e2b46e05c7c.png)
select current_time;
![在这里插入图片描述](https://img-blog.csdnimg.cn/e31017089da046f8b54f008f308949e5.png)
select current_date;
可以去掉now()、掉后面的+8等:
select now()::timestamp(0)without time zone;
select current_timestamp::timestamp(0)without time zone;
2.date_part函数 语法:DATE_PART(field, source), filed可以理解为要截取的类型。 下面是filed支持的类型:
CENTURY,世纪,获取日期所在的世纪:
select date_part('CENTURY', TIMESTAMP '2022-12-16 12:21:13');
select date_part('CENTURY', now());
![在这里插入图片描述](https://img-blog.csdnimg.cn/d058896c80544c2dabe474aa61fe6421.png)
MILLENNIUM,千年
select date_part('MILLENNIUM', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/d0485e03a1524ef1bc7a9f1dcaccc074.png)
YEAR,年份域
select date_part('YEAR', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/2c3f164dc4f74a609c46a5b18b4349bf.png)
MONTH,对于timestamp数值,它是一年里的月份数(1-12);对于interval数值,它是月的数目,然后对12取模(0-11)
select date_part('MONTH', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/2ad8c1b0143f461da3e47f609935b278.png)
select date_part('month', interval '2 years 5 months')
![在这里插入图片描述](https://img-blog.csdnimg.cn/115d2cb0d90f48e3a3fb9023adf0220e.png)
DAY,日期里的天,值是1-31:
select date_part('day', TIMESTAMP '2022-12-16 12:21:13');
select date_part('day', now());
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d16fc09522b47cfa928a6d67012f599.png)
HOUR,小时(0-23)
select date_part('HOUR', TIMESTAMP '2022-12-16 12:21:13');
![在这里插入图片描述](https://img-blog.csdnimg.cn/e65ce68eb0664894bec513dd97fb7642.png)
MINUTE,分钟域(0-59)
select date_part('MINUTE', TIME '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/86ff21375fc842cda8c046c3eed33c3b.png)
SECOND,秒域,包括小数部分(0-59[1])
select date_part('SECOND', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/c4d7a6742bba46c3a8869a73ff0d3671.png)
MICROSECONDS,秒域(包括小数)乘以 1,000,000
select date_part('MICROSECONDS', TIME '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/b65b1faaf6784eaf90de2b7bf44358e2.png)
MILLISECONDS,秒域(包括小数)乘以 1,000
select date_part('MILLISECONDS', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/f715bf4dbb9542c4a8d32345fa7f2bcc.png)
DECADE,年份域除以10:
select date_part('DECADE', TIMESTAMP '2022-12-16 12:21:13');
![在这里插入图片描述](https://img-blog.csdnimg.cn/5f7f381b5a8645c9a1fb1d1265f0ac7e.png)
DOW,星期号(0-6;星期天是0) (仅用于timestamp)
select date_part('DOW', TIMESTAMP '2022-12-16 12:21:13');
select date_part('DOW', now());
![在这里插入图片描述](https://img-blog.csdnimg.cn/86d54c3b08d444658e36b9ea84618b84.png)
DOY,一年中的第几天(1 -365/366) (仅用于 timestamp)
select date_part('DOY', TIMESTAMP '2022-12-16 12:21:13');
![在这里插入图片描述](https://img-blog.csdnimg.cn/da1eb75f476b462ab0b0cc5532282039.png)
QUARTER,该天所在的该年的季度(1-4)(仅用于 timestamp)
select date_part('QUARTER', timestamp '2022-12-16 13:21:15');
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc3d1310e7cc4a6bb42fc9c5b2b02d5f.png)
WEEK,该天在所在的年份里是第几周。
select date_part('WEEK', timestamp '2022-12-16 13:21:15');
3.extract()函数 使用语法:extract (field from source),field 支持的类型,和date_part()函数一样
select extract ('year' from timestamp '2022-12-16 13:21:15')
4.日期格式化函数
to_char(timestamp, text),把时间戳转换成字串
select to_char(now(), 'YYYY-MM-DD HH24:MI:SS')
![在这里插入图片描述](https://img-blog.csdnimg.cn/f4beb7a5509d44b4a14ed4ecaf6d9e88.png)
to_date(text, text) 把字串转换成日期
select to_date('05 Dec 2022', 'DD Mon YYYY')
![在这里插入图片描述](https://img-blog.csdnimg.cn/8fa25e2560824ad3bb9696233e66197f.png)
to_timestamp(text, text) ,把字串转换成时间戳
select to_timestamp('05 Dec 2022', 'DD Mon YYYY')
5.时间运算
select date '2001-09-28' + integer '7';
select date '2001-09-28' + interval '1 hour';
select date '2001-09-28' + time '03:00';
select interval '1 day' + interval '1 hour';
select timestamp '2001-09-28 01:00' + interval '23 hours';
select time '01:00' + interval '3 hours';
select - interval '23 hours';
select date '2001-10-01' - date '2001-09-28';
select date '2001-10-01' - integer '7';
select date '2001-09-28' - interval '1 hour';
select time '05:00' - time '03:00';
select time '05:00' - interval '2 hours;
select timestamp '2001-09-28 23:00' - interval '23 hours';
select interval '1 day' - interval '1 hour';
select timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00';
select interval '1 hour' * double precision '3.5';
select interval '1 hour' / double precision '1.5';
![在这里插入图片描述](https://img-blog.csdnimg.cn/78e554cde6f94a39949e631e7f26e986.png)
6.计算时间差
select now() + interval '10 min/year/month/day/hour/sec/ (1 year 1 month 1 day 1 hour 1 min 1 sec)'
select now() - interval '10 min/year/month/day/hour/sec/ (1 year 1 month 1 day 1 hour 1 min 1 sec)'
select now()::timestamp(0)without time zone-interval '72 hour'
select extract(day from now() - '2001-09-27 12:00') from user ;
![在这里插入图片描述](https://img-blog.csdnimg.cn/24b77f672ff0438aaa4c19e1b7781eca.png)
|